﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Ue.CQRS.Samples.Domain.Models
{
    public class BorrowingRecord
    {
        public BorrowingRecord(Book book)
        {
            this.Book = book;
            this.BorrowTime = DateTime.Now;

            //public DateTime LastAlsoTime { get{ return this.LastAlsoTime.AddDays(30); } }
            //不能使用上边的形式来计算LastAlsoTime的值，因为借书行为是现在发生的，那么最后还书时间也应该根据现在的还书规则来确定。
            //如果使用上边的形式来计算，那么LastAlsoTime的值将会根据还书规则的改变而发生变化。
            //例如：小明2012-10-05号借的书，但是2012-10-20号时图书馆改还书时间为25天。
            //这时候小明的还书时间应该是30天，也就是2012-11-03日，而不是25天
            this.LastAlsoTime = DateTime.Now.AddDays(30);
        }

        public Book Book { get; private set; }

        public DateTime BorrowTime { get; private set; }

        public DateTime? AlsoTime { get; private set; }

        public DateTime LastAlsoTime { get; private set; }
    }
}